package com.rzcode.coinex.kernel.dao.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.rzcode.coinex.kernel.common.enums.ActRewardTypeEnum;
import com.rzcode.coinex.kernel.common.enums.BooleanEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 推荐奖励设置实体类，用于管理推荐活动的奖励配置。
 *
 * @author Bridge.Xu
 * @date 2020年03月08日
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "reward_activity_setting")
public class RewardActivitySetting {

    /**
     * 唯一标识ID，自动生成。
     */
    @ApiModelProperty(value = "唯一标识ID，自动生成")
    private Long id;

    /**
     * 关联的币种对象。
     */
    @ApiModelProperty(value = "关联的币种对象")
    private Coin coin;

    /**
     * 活动状态，启用或禁用。
     */
    @ApiModelProperty(value = "活动状态，启用或禁用")
    private BooleanEnum status = BooleanEnum.IS_FALSE;

    /**
     * 活动奖励类型。
     */
    @ApiModelProperty(value = "活动奖励类型")
    private ActRewardTypeEnum type;

    /**
     * 奖励信息，例如注册奖励的金额。
     */
    @ApiModelProperty(value = "奖励信息，例如注册奖励的金额")
    private String info;

    /**
     * 更新时间，自动更新。
     */
    @ApiModelProperty(value = "更新时间，自动更新")
    private LocalDateTime updateTime;

    /**
     * 最近更改者，关联管理员对象。
     */
    @ApiModelProperty(value = "最近更改者，关联管理员对象")
    private Admin admin;
}
